/**
 * 系统管理--机构管理
 */
import request from '@/utils/requestServe';

/**
 * 机构管理模块 - 查询所有机构
 * @param {Object} data
 */
export const initDeptTree = (data, tenementId) => {
    return request({
        url: '/api-sys/sys/dept/getDeptList',
        method: 'POST',
        tenementId: tenementId,
        data
    })
}

/**
 * 机构管理模块 - 根据机构ID查询机构信息
 * @param {Object} data
 */
export const getDeptInfo = (data) => {
    return request({
        url: '/api-sys/sys/dept/getDeptInfo',
        method: 'POST',
        data
    })
}

/**
 * 机构管理模块 - 机构删除
 * @param {Object} data
 */
export const delDeptTree = (data) => {
    return request({
        url: '/api-sys/sys/dept/deleteDept',
        method: 'POST',
        data
    })
}

/**
 * 机构管理模块 - 机构编辑保存
 * @param {Object} data
 */
export const updateDeptTree = (data) => {
    return request({
        url: '/api-sys/sys/dept/updateDept',
        method: 'POST',
        data
    })
}

/**
 * 机构管理模块 - 机构新增保存
 * @param {Object} data
 */
export const saveDeptTree = (data) => {
    return request({
        url: '/api-sys/sys/dept/saveDept',
        method: 'POST',
        data
    })
}

/**
 * 机构管理模块 - 机构顺序调整
 * @param {Object} data
 */
export const updateDeptOrder = (data) => {
    return request({
        url: '/api-sys/sys/dept/updateOrder',
        method: 'POST',
        data
    })
}

/**
 * 机构管理模块 - 根据机构下的id查询机构下的岗位
 * @param {Object} data
 */
export const getPostByDeptId = (data) => {
    return request({
        url: '/api-sys/sys/deptPost/getPostByDeptId',
        method: 'POST',
        data
    })
}

/**
 * 机构管理模块 - 根据岗位ID，删除机构下的岗位
 * @param {Object} data
 */
export const delDeptPostById = (data) => {
    return request({
        url: '/api-sys/sys/deptPost/deleteDeptPost',
        method: 'POST',
        data
    })
}

/**
 * 机构管理模块 - 根据机构ID查询机构下的员工
 * @param {Object} data
 */
export const selStaffById = (data, tenementId) => {
    return request({
        url: '/api-sys/sys/user/getUserPageList',
        method: 'POST',
        tenementId: tenementId,
        data
    })
}

/**
 * 机构管理模块 - 员工分页查询 带权限
 * @param {Object} data
 */
export const userPageQueryAuth = (data) => {
    return request({
        url: '/api-sys/sys/user/pageQueryAuth',
        method: 'POST',
        data
    })
}


/**
 * 机构管理模块 - 根据机构ID查询机构下的员工
 * @param {Object} data
 */
export const getStaffById = (data) => {
    return request({
        url: '/api-sys/sys/user/getUserList',
        method: 'POST',
        data
    })
}
/**
 * 机构管理模块 - 根据机构ID查询机构下的员工(后台无关联任务东西只是查询机构下员工)
 * @param {Object} data
 */
export const getUserBaseList = (data) => {
    return request({
        url: '/api-sys/sys/user/getUserBaseList',
        method: 'POST',
        data
    })
}

/**
 * 机构管理模块 - 判断员工工号和手机号是否重复
 * @param {Object} data
 */
export const checkLoginName = (data) => {
    return request({
        url: '/api-sys/sys/user/checkLoginName',
        method: 'POST',
        data
    })
}

/**
 * 机构管理模块 - 新增保存机构下的员工
 * @param {Object} data
 */
export const saveUserToDept = (data, tenementId) => {
    return request({
        url: '/api-sys/sys/user/saveUser',
        method: 'POST',
        tenementId: tenementId,
        data
    })
}

/**
 * 公司下 新增超级管理员 cust/customer/saveCustomer
 */
export const saveSuperManange = (data, tenementId) => {
    return request({
        url: '/api-sys/cust/customer/saveCustomer',
        method: 'POST',
        tenementId: tenementId,
        data
    })
}

/**
 * 新增联系人 （客户列表） 勿删
 * @param {object} data 
 */
export const saveUserToDept2 = (data) => {
    return request({
        url: '/api-sys/sys/user/saveCusUser',
        method: 'POST',
        data
    })
}

/**
 * 机构管理模块 - 根据用户ID查询用户信息
 * @param {Object} data
 */
export const queryInfoByUserid = (data) => {
    return request({
        url: '/api-sys/sys/user/getUserInfo',
        method: 'POST',
        data
    })
}

/**
 * 机构管理模块 - 根据用户ID保存用户信息
 * @param {Object} data
 */
export const saveUserByUserId = (data, tenementId) => {
    return request({
        url: '/api-sys/sys/user/updateUser',
        method: 'POST',
        tenementId: tenementId,
        data
    })
}

/**
 * 机构管理模块 - 根据机构ID和岗位ID获取岗位下的人员
 * @param {Object} data
 */
export const getPostUserCount = (data) => {
    return request({
        url: '/api-sys/sys/user/getUserCount',
        method: 'POST',
        data
    })
}

/**
 * 机构管理模块 - 联系人新增
 * @param {Object} data
 */
export const newContactAjax = (data) => {
    return request({
        url: '/api-sys/sys/userContact/saveContact',
        method: 'POST',
        data
    })
}

/**
 * 机构管理模块 - 联系人编辑
 * @param {Object} data
 */
export const updateContactAjax = (data) => {
    return request({
        url: '/api-sys/sys/userContact/updateContact',
        method: 'POST',
        data
    })
}

/**
 * 机构管理模块 - 根据用户ID查询联系人
 * @param {Object} data
 */
export const queryContactAjax = (data) => {
    return request({
        url: '/api-sys/sys/userContact/getContactList',
        method: 'POST',
        data
    })
}

/**
 * 机构管理模块 - 批量删除联系人
 * @param {Object} data
 */
export const delContactByIds = (data) => {
    return request({
        url: '/api-sys/sys/userContact/deleteUserContact',
        method: 'POST',
        data
    })
}

/**
 * 机构管理模块 - 查询所有技能组
 * @param {Object} data
 */
export const querySkill = (data) => {
    return request({
        url: '/api-sys/base/skill/queryAll',
        method: 'POST',
        data
    })
}

/**
 * 根据参数类型获取参数信息(不分页)
 * @param {Object} data
 */
export const getSkillById = (data) => {
    return request({
        url: '/api-sys/base/skill/getById/' + data,
        method: 'GET',
        data
    })
}

/**
 * 机构管理模块 - 根据用户ID查询角色
 * @param {Object} data
 */
export const queryRoleByUserId = (data) => {
    return request({
        url: '/api-sys/sys/roleUser/getRoleListByUserId',
        method: 'POST',
        data
    })
}

/**
 * 查询多级主管
 * @param {Object} data
 */
export const getDeptCharges = (data) => {
    return request({
        url: '/api-sys/sys/dept/getDeptCharges',
        method: 'POST',
        data
    })
}
/**
 * 员工 调整业务组
 * @param {Object} data
 */
export const updateDept = (data) => {
    return request({
        url: '/api-sys/sys/emp/updateDept',
        method: 'POST',
        data
    })
}

// 删除 员工
export function deleteStaffByIds(data) {
    return request({
        url: '/api-sys/sys/user/cancelUserByIds',
        method: 'post',
        data
    })
}

// 个性化配置  新增或修改
export function saveOrUpdateDiyConf(data) {
    return request({
        url: '/api-sys/sys/cfpersonalized/saveOrUpdate',
        method: 'post',
        data
    })
}

// 个性化配置 不分页查询
export function queryDiyConf(data) {
    return request({
        url: '/api-sys/sys/cfpersonalized/query',
        method: 'post',
        data
    })
}

// 群组 查询接口
export function queryGroup(data) {
    return request({
        url: '/api-sys/sys/group/query',
        method: 'post',
        data
    })
}

// 新增或修改 群组
export function saveOrUpdateGroup(data) {
    return request({
        url: '/api-sys/sys/group/saveOrUpdate',
        method: 'post',
        data
    })
}

// 群组 明细接口
export function getGroupById(data) {
    return request({
        url: '/api-sys/sys/group/getById',
        method: 'post',
        data
    })
}

// 查询机构下的主管
export function getDeptDutyUser(data) {
    return request({
        url: '/api-sys/sys/dept/getDeptDutyUser',
        method: 'post',
        data
    })
}

// 新增机构主管
export function addDeptDutyUser(data) {
    return request({
        url: '/api-sys/sys/dept/addDeptDutyUser',
        method: 'post',
        data
    })
}

// 删除机构主管
export function deleteDeptDutyUser(data) {
    return request({
        url: '/api-sys/sys/dept/deleteDeptDutyUser',
        method: 'post',
        data
    })
}

/**
 * 机构下的应用 查询（不分页）接口
 * @param {Object} data
 */
export const moduleQueryAll = (data) => {
    return request({
        url: '/api-sys/base/module/queryAll',
        method: 'POST',
        data
    })
}